/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cr.ac.una.sive.managed;

import cr.ac.una.sive.entidad.HorarioReservacionEvento;
import cr.ac.una.sive.entidad.ReservacionEvento;
import cr.ac.una.sive.entidadLocal.HorarioReservacionEventoLocal;
import cr.ac.una.sive.entidadLocal.ReservacionEventoLocal;
import cr.ac.una.sive.sessionbean.HorarioReservacionEventoFacade;
import cr.ac.una.sive.sessionbean.HorarioReservacionEventoFacadeLocal;
import cr.ac.una.sive.sessionbean.ReservacionEventoFacadeLocal;
import cr.ac.una.sive.vista.util.FacesUtils;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author claribel
 */
@ManagedBean
@RequestScoped
public class HorarioReservacionEventoFacadeManaged {
    @EJB(mappedName = "ejb/ReservacionEventoFacade")
    private ReservacionEventoFacadeLocal reservacionEventoFacade;
    @EJB(mappedName = "ejb/HorarioReservacionEventoFacade")
    private HorarioReservacionEventoFacadeLocal horarioReservacionEventoFacade;

    
    private ArrayList<HorarioReservacionEventoLocal> listaHorariosReservacion = null;
    private String estado="inserta";
    public void setListaHorariosReservacion(ArrayList<HorarioReservacionEventoLocal> listaHorariosReservacion) {
        this.listaHorariosReservacion = listaHorariosReservacion;
    }
    private HorarioReservacionEventoLocal horarioReservacionEventoLocal = new HorarioReservacionEventoLocal();

    public HorarioReservacionEventoLocal getHorarioReservacionEventoLocal() {
        return horarioReservacionEventoLocal;
    }

    public void setHorarioReservacionEventoLocal(HorarioReservacionEventoLocal horarioReservacionEventoLocal) {
        this.horarioReservacionEventoLocal = horarioReservacionEventoLocal;
    }
    
    
    /**
     * Creates a new instance of HorarioReservacionEventoFacadeManaged
     */
    public HorarioReservacionEventoFacadeManaged() {
    }
    
    public List getListaHorariosReservacion() { 
//       listaMarchamos = null;
        if (listaHorariosReservacion == null) { 
            ArrayList listaMarchamos2 = new ArrayList(horarioReservacionEventoFacade.findAll());
            
        listaHorariosReservacion = new ArrayList(); 
        HorarioReservacionEvento horarioReservacionEvento; 
        for (int i = 0; i < listaMarchamos2.size(); i++) { 
            horarioReservacionEvento = (HorarioReservacionEvento) listaMarchamos2.get(i); 
        listaHorariosReservacion.add(new HorarioReservacionEventoLocal(horarioReservacionEvento)); 
        } 
        
        } //sort(); 
        return listaHorariosReservacion;
        
    }
    
      public void doNothing(){
    
    }
    
    
     public void guardar() {
        FacesContext context = FacesContext.getCurrentInstance();

        FacesMessage message = new FacesMessage();

        HorarioReservacionEvento horarioReservacionEvento = new HorarioReservacionEvento();
        try {
            
                ReservacionEventoFacadeManaged reservacionEventoFacadeManaged = (ReservacionEventoFacadeManaged) FacesUtils.getManagedBean("reservacionEventoFacadeManaged");
                
                ReservacionEventoLocal reservacionEventoLocal = reservacionEventoFacadeManaged.getReservacionEventoLocal();
                                             
                horarioReservacionEvento.setHoraInicio(horarioReservacionEventoLocal.getHoraInicio());
                horarioReservacionEvento.setHoraFin(horarioReservacionEventoLocal.getHoraFin());
                horarioReservacionEvento.setFecha(horarioReservacionEventoLocal.getFecha());
               
                ReservacionEvento u = reservacionEventoFacadeManaged.obtenerReservacionEvento();
                horarioReservacionEvento.setReservacionEvento(u);
                

            if (estado.equals("inserta")) {
                
                               
                 
                horarioReservacionEventoFacade.edit(horarioReservacionEvento);
                
                message.setSeverity(FacesMessage.SEVERITY_INFO);
                message.setSummary("Horario Insertado Correctamente");
                message.setSummary("Horario Insertado Correctamente");
                context.addMessage("Campos:save", message);               
                this.listaHorariosReservacion = null;
            }
//             else if (estado.equals("modifica")) {
//                marchamoFacade.edit(marchamo);
//                message.setSeverity(FacesMessage.SEVERITY_INFO);
//                message.setSummary("Marchamo Modificado Correctamente");
//                message.setDetail("Marchamo Modificado Correctamente");
//                context.addMessage("Campos:save", message);
//                 this.exitoso = true;
//                this.estado = "inserta";
//            }

        } catch (Exception e) {
            message.setSeverity(FacesMessage.SEVERITY_INFO);
            message.setSummary(e.getMessage());
            message.setDetail(e.getMessage());
            context.addMessage("menssage_campos", message);
        }


        


    }
}
